﻿//using Puerts;
//using System.Collections.Generic;
//using System;
//using ttbit;
//using System.Reflection;

public class TTArray<T>
{
    T[] _array;
    public TTArray(int length)
    {
        this._array = new T[length];
    }
    private TTArray(T[] array)
    {
        _array = array;
    }
    public int Length
    {
        get
        {
            return _array.Length;
        }
    }
    public static TTArray<T> _FromNative(T[] array)
    {
        if (array == null)
            return null;
        else
            return new TTArray<T>(array);
    }
    public T this[int index]
    {
        get
        {
            return _array[index];
        }
        set
        {
            _array[index] = value;
        }
    }
}

//[Configure]
//public class PureCfg
//{
//    [Binding]
//    public static IEnumerable<Type> Bindings
//    {
//        get
//        {
//            return new List<Type>()
//            {


//                typeof(TT),
//                typeof(TTArray<JSPackItem>),
//                typeof(JSPackGroup),
//                typeof(JSPackItem),
//                typeof(TTImg),
//                typeof(TTFont),
//                typeof(TTFontItem),

//                //typeof(IPlatform),


//                //typeof(IGraphic),
//                //typeof(ITexture),
//                //typeof(IResource),
//                //typeof(IDisposable),
//                //typeof(IRenderTarget),
//                //typeof(ColorF),
//                //typeof(Color32),

//                //typeof(IBatcher),
//                //typeof(IRenderer),
//                //typeof(Effect),

//                //typeof(Vector2),
//                //typeof(Vector3),
//                //typeof(Rectangle),
//                //typeof(RectangleF),

//                //typeof(IPackGroup),
//                //typeof(IPackItem),


//                //typeof(IAudio),
//                //typeof(IInput),

//                //typeof(InputPoint),
//            };
//        }
//    }

//    //似乎没有作用？

//    [BlittableCopy]
//    public static IEnumerable<Type> BindingsBlitTypes
//    {

//        get
//        {
//            return new List<Type>()
//            {
//                //        //typeof(LogLevel),
//                //        //typeof(BatteryState),

//                //        typeof(InputPoint),
//                //        typeof(ColorF),
//                //        typeof(Color32),
//                //        typeof(Vector2),
//                //        typeof(Vector3),
//                //        typeof(Rectangle),
//                //        typeof(RectangleF),
//            };
//        }
//    }


//    //这玩意儿只是把他降级为lazy
//    //2.0 才加了一个bindmode
//    [Filter]
//    public static BindingMode Filter(System.Reflection.MemberInfo memberInfo)
//    {
//        if (memberInfo.DeclaringType.Name == "ArrayBuffer")
//            return BindingMode.DontBinding;
//        if (memberInfo.Name[0] == '_')
//            return BindingMode.DontBinding; 

//        return BindingMode.FastBinding;
//    }
//}